package com.app.service;


import com.app.model.ComRecruitersModel;
import com.app.model.CustomerModel;
import com.app.util.CommonHelp;
import com.app.vo.CustomerListVo;
import com.app.vo.ValueAndNameVo;
import org.apache.ibatis.annotations.Options;
import org.springframework.web.bind.annotation.RequestParam;

import java.text.ParseException;
import java.util.List;
import java.util.Map;

/**
 * @Description: 个人用户
 * @Author: N
 * @Date: 2022年11月24日10点26分
 */
public interface CustomerService {
    @Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "id")
    int insert(CustomerModel cus);

    CustomerModel getCustomerById(int id);

    void update(CustomerModel cus);

    int getCountAll();

    int getModelCountByTime(String crtTime,String startTime,String endTime,Integer type);

    int getModelCountByLoginTime(String startTime,String endTime);

    int getModelCountByNull();

    int getModelCountByNoPublish();

    Object getCustomer(String token, Integer id) throws ParseException;

    Object getUserCustomer(String token, Integer id) throws ParseException;

    Object getCusAndIntentionList(CustomerModel model) throws ParseException;

    Integer selectSeekersCount();

    int[] agePie() throws ParseException;


    void customerLoginMak(CustomerModel model);

    List<CustomerModel> getCustomerListAll();

    int[] selectSexCount();

    List<CustomerModel> selectAll(Integer page, Integer limit, Integer streetId);

    int selectAllCount(Integer streetId);

    List<CustomerModel> getCustomerByStreet(String startTime,String endTime);
    List<CustomerModel> getCustomerAndStreet(String startTime,String endTime);


    CustomerListVo getCustomerPageByStreetId(CustomerModel model);

    List<Integer> selectTrendOfVisits() throws ParseException;
    /**
     * reg peo镇街
     *
     * @return {@link Map}<{@link String},{@link Object}>
     */
    List<Map<String,Object>> regPeoTownStreet();

    /**
     * 各街道访问人数
     *
     * @return {@link List}<{@link Map}<{@link String},{@link Object}>>
     */
    List<Map<String,Object>> browserPeoTownStreet();
}
